
/**************************************************************************
 *         Copyright(c) 2007 by Sunplus mMedia  Technology Co., Ltd.       *
 *                                                                         *
 *  This software is copyrighted by and is the property of Sunplus mMedia  *
 *  Technology Co., Ltd. All rights are reserved by Sunplus mMedia Techno- *
 *  logy Co., Ltd. This software may only be used in accordance with the   *
 *  corresponding license agreement. Any unauthorized use, duplication,    *
 *  distribution, or disclosure of this software is expressly forbidden.   *
 *                                                                         *
 *  This Copyright notice "M U S T" not be removed or modified without     *
 *  prior written consent of Sunplus mMedia Technology  Co., Ltd.          *
 *                                                                         *
 *  Sunplus mMedia Technology Co., Ltd. reserves the right to modify this  *
 *  software without notice.                                               *
 *                                                                         *
 *  Sunplus mMedia Technology Co., Ltd.                                    *
 *  19-1, Innovation First Road, Science-Based Industrial Park,            *
 *  Hsin-Chu, Taiwan, R.O.C.                                               *
 *                                                                         *
 **************************************************************************/
#ifndef __APP_UI_OSD_H__
#define __APP_UI_OSD_H__

/**************************************************************************
 *                           C O N S T A N T S                            *
 **************************************************************************/
#define OSD_ATTR_COLOR_RED      0x01
#define OSD_ATTR_COLOR_GREEN    0x02
#define OSD_ATTR_COLOR_BLUE     0x03
#define OSD_ATTR_COLOR_YELLOW   0x04
#define OSD_ATTR_COLOR_PURPLE   0x05
#define OSD_ATTR_COLOR_CYAN     0x06
#define OSD_ATTR_COLOR_BLACK	0x07
	
#define OSD_ATTR_BACK_DIS       0x00
#define OSD_ATTR_BACK_EN        0x08
	
#define OSD_ATTR_MODE_NOMAL     0x00
#define OSD_ATTR_MODE_HALFTONE  0x10
#define OSD_ATTR_MODE_EXCHANGE  0x20
#define OSD_ATTR_MODE_BLINKING  0x30
#define OSD_ATTR_COLOR_WHITE    0x00

/**************************************************************************
 *                              M A C R O S                               *
 **************************************************************************/
#define FUNC_CLEAR

//Enable LCD and OSD mode switch
#define _ENABLE_LCD_OFF_
/**************************************************************************
 *                          D A T A    T Y P E S                          *
 **************************************************************************/
enum
{
	UI_LCD_ON_WITH_OSD,
	UI_LCD_ON_WO_OSD,
	UI_LCD_OFF,
	UI_OSD_MODE_MAX,
};
/**************************************************************************
 *                         G L O B A L    D A T A                         *
 **************************************************************************/

/**************************************************************************
 *                 E X T E R N A L    R E F E R E N C E S                 *
 **************************************************************************/
 
/**************************************************************************
 *               F U N C T I O N    D E C L A R A T I O N S               *
 **************************************************************************/
void uiIconDisp(UINT8 x, UINT8 y, UINT8 icon, UINT8 attr);
void uiUpdateOSDTime(UINT8 x, UINT8 y, UINT32 time, UINT8 attr);
void uiUpdateOSDSize(UINT8 x, UINT8 y, UINT8 attr);
void uiUpdateImgQuality(UINT8 x, UINT8 y, UINT8 attr);
void uiUpdateImgSize(UINT8 x, UINT8 y, UINT8 attr);
void uiUpdateSnapMode(UINT8 x, UINT8 y, UINT8 attr);
void uiUpdateWB(UINT8 x, UINT8 y, UINT8 attr);
void uiUpdateAEMetering(UINT8 x, UINT8 y, UINT8 attr);
void uiUpdateOSDFlashMode(UINT8 x, UINT8 y, UINT8 attr);
void uiUpdateVideoSize(UINT8 x, UINT8 y, UINT8 attr);
/* ------ Note: Demo code zone start flag, don't modify or delete this line!!! ------ */
void uiShowPrinthint(void);
/* ------ Note: Demo code zone end flag, don't modify or delete this line!!! ------ */
//void uiUpdateOSDZoom(UINT8 x, UINT8 y, UINT8 attr);
void uiUpdateOSDPbType(UINT8 x, UINT8 y, UINT8 attr);
void uiUpdateEffect(UINT8 x, UINT8 y, UINT8 attr);

void appStillOsdInit(void);
void appVideoOsdInit(void);
void appAudioOsdInit(void);
void appPbOsdInit(void);
void appPbVideoOsdInit(void);
void uiUpdateVideoStatus(UINT8 mode	,UINT8 status);
void uiUpdateAudioStatus(UINT8 mode	,UINT8 status);
//void uiUpdateOSDPbNoImage(void);
void uiUpdateOSDMemFull(void);
UINT8 uiUpdateBatteryLevel(void);
void uiUpdateOSDBatEmpty(void);
//void uiUpdateOSDFileLock(void);
void uiUpdateOSDPbFileNum(void);
void uiUpdateEV(UINT8 x, UINT8 y, UINT8 attr);
void uiUpdateAudRecTime(UINT32 time);
void uiUpdateAudPlayTime(UINT32 time);
void uiUpdateVideoRecTime(UINT32 time);
void uiUpdateOSDPvZoom(UINT16 zoomfact);
void uiUpdateAudRecRemainTime(UINT32* time);
void uiUpdateVideoRecRemainTime(UINT32* time);

void uiRemainPixInit(void);
void uiRemainPixCount(void);
void uiUpdateRemainPix(void);
void uiOsdDialogDisp(UINT8 stridx, UINT16 wait);
void appUIUSBModeSet(void);
void appVolumeSet(void);
void appEVSet(UINT8 expval);
void appDateStampSet(void);
void appFramRateSet(void);
void appUiBusyWait(UINT16 Time, UINT8 bFlash);
void appUiBusyExit(void);
void appUiBusyShow(UINT8 rst);
void appUiCoverTVOsd(void);
void uiCardIcon(void);

void uiUpdateSlideShowState(UINT8 mode);
void appOsdModeSw(UINT8 ctrl);
#endif

